home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / DEMOCIAL / DEMOFRM2.LZH / XSMPCODE.FW2 (.txt) < prev    next >
FrameworkDocument  |  1985-10-22  |  43KB  |  915 lines

  1. ; primary program for XSmpCode
  2. @GetFiles,
  3. @XSmpCode.Main,
  4. @Hands on Prep
  5. mpCode
  6. XSmpCode ; Body of code for Framework II Sampler
  7. ; Sampler Menu Program - menu display frame inside
  8. @clean,
  9. @while(1 + 1 = 2,
  10.     @display(Main.SMenu),
  11.     @memavail,
  12.     rtn := #false,
  13.     @Flush,  
  14.     @nextkey(60),
  15.     @if(@or(@key={null},@key={a},@key={A}),@Over,
  16.         @list(
  17.             @if(@or(@key={b},@key={B}),@WP),
  18.             @if(@or(@key={c},@key={C}),@SS),
  19.             @if(@or(@key={d},@key={D}),@More),
  20.             @if(@key={1},@All),
  21.             @if(@key={2},@return(0)),
  22.             @if(@key={3},@Exit),
  23.             @if(@or(@key={end},@key={dnarrow},@key={pgdn}),
  24.                 @list(
  25.             @beep(500,10),@beep(500,10),
  26.                     @eraseprompt,@b(25),
  27.                     @prompt("Use the top row of number keys " &
  28.                             "to make your choice",15),
  29.                     @b(50),@eraseprompt,@b(25),
  30.                     @prompt("Use the top row of number keys " &
  31.                             "to make your choice",15),
  32.                 )
  33.     @if(rtn,@clean),
  34. Framework II Sampler Menu
  35.            
  36. 1. Automated Demonstration  . . (a thru d)          
  37.  a. Framework II Overview . . . 3 min
  38.  b. Word Processing . . . . . . 3 min
  39.  c. Spreadsheet . . . . . . . . 3 min
  40.  d. And More  . . . . . . . . . 5 min
  41.                          
  42. 2. Hands-on . . . . . See Sampler Booklet
  43. 3. Quit the Sampler . . . . Return to DOS
  44.    To choose an option, press a number or a letter.  
  45. SMenu
  46. ; Framework
  47. II Overview
  48. ; --- intro
  49. @Blank,
  50. @b(20),
  51. @display(Over.Strt1),@p(2),@if(rtn,@return(0)),
  52. @display(Over.Strt2),@p(5),@if(rtn,@return(0)),
  53. @display(Over.Strt3),@p(9),@if(rtn,@return(0)),@Blank,
  54. @display(Over.Who1),@p(5),@if(rtn,@return(0)),
  55. @display(Over.Who2),@p(7),@if(rtn,@return(0)),@Blank,
  56. @display(Over.What),@p(4),@if(rtn,@return(0)),
  57. @dia,@if(rtn,@return(0)),@Blank,
  58. @display(Over.Tour),@no,
  59. ; --- bring the Summary, Budget, and Costs to desktop
  60. @echo(#off),
  61. @bring("Summary"),
  62. @pos("Summary",1,3),
  63. @size("Summary",70,7),
  64. @hide(Welcome),
  65. @bring("Budget"),
  66. @pos("Budget",1,1),
  67. @size("Budget",70,6),
  68. @bring("Costs"),
  69. @pos("Costs",1,8),
  70. @size("Costs",65,12),
  71. @performkeys("{ctrl-d}c"),
  72. @setselection("Summary"),
  73. @performkeys("{ctrl-w}{home}{dnarrow}{rightarrow}{home}
  74.             "{dnarrow}{dnarrow}{dnarrow}{dnarrow}{esc}"),
  75. @b(100),
  76. ; --- begin Tour of Desktop
  77. @echo(#on),
  78. @b(100),
  79. @display(Over.Desk),
  80. @display(Over.ADsk1),
  81. @display(Over.ADsk2),
  82. @display(Over.ADsk3),
  83. @display(Over.ADsk4),
  84. @p(8),@if(rtn,@return(0)),
  85. @echo(#on),@b(50),
  86. ; --- show pull-down menus
  87. @display(Over.Menu1),@p(.5),@if(rtn,@return(0)),
  88. @display(Over.AMen1),
  89. @display(Over.AMen2),@p(7),@if(rtn,@return(0)),
  90. @echo(#on),@b(100),
  91. @display(Over.Menu2),@p(8),@if(rtn,@return(0)),
  92. @performkeys("{ctrl-w}"),
  93. @p(1.5),@if(rtn,@return(0)),
  94. @performkeys("{dnarrow}"),@p(1),@if(rtn,@return(0)),
  95. @performkeys("{dnarrow}"),@p(1.5),@if(rtn,@return(0)),
  96. @performkeys("{uparrow}"),@p(1),@if(rtn,@return(0)),
  97. @performkeys("{uparrow}"),@p(2),@if(rtn,@return(0)),
  98. @performkeys("{rightarrow}"),@p(1),@if(rtn,@return(0)),
  99. @performkeys("{dnarrow}"),@p(1),@if(rtn,@return(0)),
  100. @performkeys("{dnarrow}"),@p(1.5),@if(rtn,@return(0)),
  101. @performkeys("{uparrow}"),@p(1),@if(rtn,@return(0)),
  102. @performkeys("{uparrow}"),@p(2),@if(rtn,@return(0)),
  103. ; --- show cabinets
  104. @performkeys("{esc}"),
  105. @setselection("a:"),
  106. @echo(#on),@b(50),
  107. @display(Over.Cab),
  108. @display(Over.ACab),@p(6),@if(rtn,@return(0)),
  109. @performkeys("{dnarrow}"),@p(.5),@if(rtn,@return(0)),
  110. @performkeys("{uparrow}"),@p(.5),@if(rtn,@return(0)),
  111. @performkeys("{dnarrow}"),@p(.5),@if(rtn,@return(0)),
  112. @performkeys("{uparrow}"),@p(1),@if(rtn,@return(0)),
  113. ; --- show trays
  114. @echo(#on),
  115. @setselection("Summary"),
  116. @display(Over.Tray),
  117. @display(Over.ATray),@p(8),@if(rtn,@return(0)),
  118. @performkeys("{dnarrow}"),@p(.5),@if(rtn,@return(0)),
  119. @performkeys("{dnarrow}"),@p(.5),@if(rtn,@return(0)),
  120. @performkeys("{uparrow}"),@p(.5),@if(rtn,@return(0)),
  121. @performkeys("{uparrow}"),@p(1),@if(rtn,@return(0)),
  122. @echo(#on),
  123. @display(Over.Frame),@p(9),@if(rtn,@return(0)),
  124. ; --- show frames
  125. @echo(#on),@b(30),
  126. @show("Over.Word","Summary"),@if(rtn,@return(0)),
  127. @show("Over.Num","Budget"),@if(rtn,@return(0)),
  128. @show("Over.Graph","Costs"),@if(rtn,@return(0)),
  129. @eraseprompt,
  130. ; --- wrap up
  131. @b(250),
  132. @display(Over.All1),@p(5),@if(rtn,@return(0)),
  133. @display(Over.All2),@p(7),@if(rtn,@return(0)),
  134. @echo(#on),@eraseprompt,@b(100),
  135. @display(Over.End1),@p(6),@if(rtn,@return(0)),
  136. @eraseprompt,
  137. @display(Over.End2),@p(9),@if(rtn,@return(0)),
  138. @echo(#on),@eraseprompt,@b(30),
  139. @clean
  140. @if(rtn,@retu
  141. ADsk1
  142. ADsk2
  143. ADsk3
  144. s shade
  145. ADsk4
  146. AMen1
  147.      
  148.       
  149.       
  150.       
  151.        
  152.       
  153.       
  154.       
  155.       
  156. AMen2
  157.  shade
  158. is shade
  159. ATray
  160. Welcome to the FRAMEWORK II Sampler.  
  161. Strt1
  162. Welcome to the FRAMEWORK II Sampler.  
  163. This automated demonstration moves
  164. along at its own pace, much like a
  165. self-running slide show.
  166. Strt2
  167. Welcome to the FRAMEWORK II Sampler.  
  168. This automated demonstration moves
  169. along at its own pace, much like a
  170. self-running slide show.
  171. But you can 
  172. pause
  173.  the demonstration by
  174. pressing the 
  175. SPACEBAR
  176.  -- or immediately
  177. advance
  178.  to the next screen by pressing
  179.  (RETURN or ENTER) whenever you see
  180. the message now displayed at the bottom
  181. of the screen.
  182. rmkey
  183. Strt3
  184. Framework II is designed for people who
  185. create, analyze, or organize information.
  186. Framework II is designed for people who
  187. create, analyze, or organize information.
  188. And for people who want to maximize the
  189. productivity their computer can provide.
  190. Framework II combines the following functions
  191. into one consistent program...
  192. A guided tour of the Framework
  193. II screen
  194. will help you understand how all these
  195. capabilities can be combined easily into
  196. one program.
  197. The shaded area of the Framework II
  198. screen is called the "Desktop" --
  199. it's where you do your work.
  200. Across the top of the screen is the "menu bar."
  201. mework
  202. Menu1
  203. Each "menu" along the
  204. menu bar can be pulled
  205. down like a window shade
  206. to display a list 
  207. of commands.
  208. Menu2
  209. Disk-drive "storage cabinets" keep
  210. your files safely stored away.
  211. Files you are working on
  212. are kept on the desktop,
  213. neatly stacked in "trays."
  214. Each tray represents an information container called
  215. a "frame" -- frames can be opened on the desktop and
  216. worked on like "electronic" sheets of paper.
  217. e to the nat
  218. Frame
  219. Using frames, you can
  220. write memos and reports...
  221. Calculate Budgets...
  222. Create graphs...
  223. Graph
  224. You can even combine your text, numbers,
  225. and graphs into a single document --
  226. You can even combine your text, numbers,
  227. and graphs into a single document --
  228. -- and all with one set of consistent
  229. commands.
  230. With Framework
  231. II, you can become more
  232. effective and productive from the moment 
  233. you start using your computer --
  234. With Framework
  235. II, you can become more
  236. effective and productive from the moment 
  237. you start using your computer --
  238. -- and yet continue to benefit from more
  239. powerful capabilities as you gain more
  240. experience.
  241. ; Word Processing
  242. ; --- intro
  243. @Blank,
  244. @b(20),
  245. @display(WP.Start),@no,
  246. @echo(#off),
  247. @bring("Summary"),
  248. @pos("Summary",1,3),
  249. @size("Summary",70,7),
  250. @hide(Welcome),
  251. @sham("Budget"),
  252. @sham("Costs"),
  253. @setselection("Summary"),
  254. @performkeys("{ctrl-w}{home}{dnarrow}{esc}"),
  255. @b(200),@echo(#on),@b(50),
  256. @display(WP.Intro),@p(8),@if(rtn,@return(0)),@echo(#on),@b(30),
  257. ; --- explore word frame
  258. @display(WP.Open),@p(5),@if(rtn,@return(0)),@echo(#on),@b(50),
  259. @performkeys("{return}"),@b(80),
  260. @performkeys("{dnlevel}"),@b(150),
  261. @display(WP.Scrol),@p(5),@if(rtn,@return(0)),@echo(#on),
  262. @rptkey(14,"{dnarrow}",20),
  263. @rptkey(14,"{uparrow}",10),@b(100),
  264. @display(WP.Zoom),@p(7),@if(rtn,@return(0)),
  265. @performkeys("{F9}"),@b(200),
  266. ; --- adding text
  267. @display(WP.Add),@p(6),@if(rtn,@return(0)),@echo(#on),@b(30),
  268. @rptkey(4,"{dnarrow}",20),@b(50),
  269. @rptkey(7,"{ctrl-rightarrow}",20),
  270. @rptkey(4,"{rightarrow}",15),
  271. @oneltr("Expenses for the first month will be higher " &
  272. "than we had originally expected.  "),@b(150),
  273. ; --- moving text
  274. @display(WP.Move),@p(6), @if(rtn,@return(0)),@echo(#on),@b(30),
  275. @performkeys("{ctrl-dnarrow}"),@b(50),
  276. @performkeys("{ctrl-dnarrow}"),@b(50),
  277. @performkeys("{F7}"),@b(150),
  278. @rptkey(3,"{uparrow}",25),@b(100),
  279. @performkeys("{return}"),@b(200),
  280. @memavail,
  281. ; --- adding emphasis
  282. @display(WP.Bold),@p(6),@if(rtn,@return(0)),@echo(#on),@b(30),
  283. @performkeys("{ctrl-uparrow}"),@b(250),
  284. @performkeys("{ctrl-w}"),@b(150),
  285. @performkeys("{return}"),@b(100),
  286. @performkeys("{esc}"),@b(200),
  287. @display(WP.Cntr),@p(6),@if(rtn,@return(0)),@echo(#on),
  288. @rptkey(3,"{uparrow}",20),
  289. @performkeys("{home}{uparrow}"),@b(250),
  290. @performkeys("{ctrl-w}"),@b(100),
  291. @rptkey(6,"{dnarrow}",20),@b(150),
  292. @performkeys("{return}"),@b(250),
  293. ; --- spelling check
  294. @display(WP.Spell),@p(10),@if(rtn,@return(0)),@echo(#on),@b(100),
  295. @performkeys("{ctrl-a}{home}{dnarrow}"),@p(2),@if(rtn,@return(0)),
  296. @performkeys("s{home}"),@b(2),
  297. @echo(#off),
  298. @performkeys("{esc}{ctrl-l}Sprofitible{return}{esc}" &
  299.             "{ctrl-l}s{f6}{end}{del}{return}{esc}"),
  300. @b(300),@echo(#on),
  301. @b(200),
  302. @display(WP.Find),@display(WP.AFind),
  303. @b(400),
  304. @if(@and(@memavail > 60000,@version(4) = 2),
  305.     @list(
  306.         @echo(#off),
  307.         @performkeys("{ctrl-a}sb"),
  308.         @echo(#on),
  309.         @display(WP.Fix),@beep(0,800),
  310.         @echo(#on),@beep(0,75),
  311.         @performkeys("s"),@beep(0,100),
  312.         @display(WP.Auto),@beep(0,900),
  313.         @performkeys("{rightarrow}"),@beep(0,100),
  314.         @performkeys("{rightarrow}"),@beep(0,200),
  315.         @performkeys("{leftarrow}"),@beep(0,100),
  316.         @performkeys("{leftarrow}"),@beep(0,300),
  317.         @performkeys("{return}"),
  318.         @eraseprompt
  319.     @list(
  320.         @b(200),
  321.         @echo(#on),
  322.         @b(100),
  323.         @display(WP.Man),@display(WP.AFind),
  324.         @p(7),@if(rtn,@return(0)),@echo(#on),@b(30),
  325.         @performkeys("{del}profitable{ctrl-leftarrow}")
  326. @b(200),
  327. @display(WP.Fixed),
  328. @display(WP.AFind),@p(8),@if(rtn,@return(0)),@b(150),
  329. ; --- wrap up
  330. @performkeys("{ctrl-home}{f9}"),@b(125),
  331. @performkeys("{uplevel}"),@b(125),
  332. @performkeys("{return}"),@b(125),
  333. @display(WP.End),@p(8),@if(rtn,@return(0)),
  334. @clean
  335. AFind
  336. Framework
  337. II's word processor 
  338. is designed to meet the writing needs of
  339. professionals, managers, and executives --
  340. -- people whose success depends on the 
  341. timely communication of accurate information.
  342. tion.
  343. w,rm)
  344. Start
  345. For example, say
  346. you have responsibility 
  347. for a major new project.  
  348. And that a budget report you've been working on
  349. for the project needs some revisions -- fast.
  350. Intro
  351. -- the Summary frame
  352. contains a section of the
  353. report that needs updating.
  354. ting.
  355. what nee
  356. There's more inside the Summary
  357. frame than there appears.
  358. Scrol
  359. You can 
  360.  the frame up to full screen
  361. to give yourself plenty of room to work.
  362. You need to add a sentence
  363. about increased expenses to
  364. the first paragraph.
  365. Now you want to move a sentence from
  366. the second paragraph to the first.
  367. Next, you decide to make the
  368. sentence you added appear 
  369. Centering the title will add
  370. a professional touch...
  371. Framework
  372. II's built-in
  373. Spelling Checker will make sure
  374. you don't hand in a report with
  375. typing or spelling mistakes.  
  376. port wit
  377. Spell
  378. Framework
  379. II finds a misspelled
  380. word:   "profit
  381. ble" should be
  382. spelled "profit
  383. ble".
  384. Framework
  385. II's spelling
  386. checker can suggest
  387. correct spellings for
  388. you, as indicated below. 
  389. nds a
  390. misspell
  391. Just choose the
  392. correct suggestion
  393. from the options
  394. presented and the
  395. misspelled word is
  396. automatically
  397. corrected.
  398. If you choose, Framework
  399. II can
  400. correct the misspelled word for you.
  401. The word 
  402. profitable
  403. now spelled correctly --
  404. your report is in
  405. excellent shape.
  406. Fixed
  407. The revisions are done.  
  408. - You wasted no time retyping, 
  409. - You bolded your main point for
  410.   extra emphasis, and 
  411. - Your spelling check insured
  412.   against embarrassing typing
  413.   mistakes.
  414. ; Spreadsheet
  415. ; --- intro
  416. @Blank,
  417. @b(20),
  418. @display(SS.Start),@no,
  419. @echo(#off),
  420. @sham("Summary"),
  421. @hide(Welcome),
  422. @bring("Budget"),
  423. @pos("Budget",1,1),
  424. @size("Budget",70,6),
  425. @sham("Costs"),
  426. @setselection("Summary"),
  427. @performkeys("{ctrl-n}{home}{dnarrow}{esc}"),
  428. @b(200),@echo(#on),@b(30),
  429. @display(SS.Intro),@p(7),@if(rtn,@return(0)),@echo(#on),@b(50),
  430. ; --- exploring spreadsheet frame
  431. @display(SS.Open),@p(6),@if(rtn,@return(0)),@echo(#on),@b(50),
  432. @performkeys("{dnarrow}"),@b(80),
  433. @performkeys("{return}"),@b(80),
  434. @performkeys("{dnlevel}"),@b(150),
  435. @display(SS.Xplor),@p(10),@if(rtn,@return(0)),@echo(#on),@b(50),
  436. ; --- checking out formulas
  437. @performkeys("{f9}"),@b(150),
  438. @display(SS.Num),@p(6),@if(rtn,@return(0)),@echo(#on),@b(50),
  439. @performkeys("{rightarrow}"),@b(25),
  440. @rptkey(3,"{dnarrow}",25),@b(50),
  441. @display(SS.AFor1),
  442. @display(SS.For1),@p(9),@if(rtn,@return(0)),@echo(#on),@b(30),
  443. @display(SS.APan),
  444. @display(SS.Pan),@p(5),@if(rtn,@return(0)),@echo(#on),@b(50),
  445. @performkeys("{uparrow}"),@b(80),
  446. @display(SS.Apan),
  447. @display(SS.Hand),@p(9),@if(rtn,@return(0)),@echo(#on),@b(50),
  448. @performkeys("{rightarrow}"),@b(80),
  449. @display(SS.APan),
  450. @display(SS.For2),@p(9),@if(rtn,@return(0)),@echo(#on),@b(200),
  451. ; --- updating a number
  452. @display(SS.Calc),@p(13),@if(rtn,@return(0)),@echo(#on),@b(80),
  453. @performkeys("{leftarrow}"),@b(150),
  454. @performkeys("1500{return}{f5}"),@b(300),
  455. ; --- formatting for currency
  456. @display(SS.Curr),@p(7),@if(rtn,@return(0)),@echo(#on),@b(50),
  457. @performkeys("{uparrow}{f6}"),@b(30),
  458. @rptkey(5,"{rightarrow}",5),
  459. @rptkey(2,"{dnarrow}",5),
  460. @performkeys("{return}"),@b(150),
  461. @performkeys("{ctrl-n}"),@b(100),
  462. @rptkey(3,"{dnarrow}",20),@b(100),
  463. @performkeys("{return}"),@b(200),
  464. @performkeys("{esc}"),@b(50),
  465. @performkeys("{esc}"),@b(200),
  466. ; --- wrap up
  467. @display(SS.Done),@p(6),@if(rtn,@return(0)),@echo(#on),@b(50),
  468. @setselection("Budget.A1"),@p(1),@if(rtn,@return(0)),
  469. @performkeys("{f9}"),@b(150),
  470. @display(SS.End),@p(6),@if(rtn,@return(0)),@echo(#on),@b(50),
  471. @performkeys("{uplevel}"),@b(30),
  472. @performkeys("{return}"),@b(30),
  473. @clean
  474. AFor1
  475. Framework
  476. II's spreadsheet handles
  477. numbers quickly and accurately --
  478. -- so you spend time 
  479. solving
  480.  problems,
  481. not calculating them.
  482. Start
  483. For example, suppose you're preparing a
  484. budget and discover that you need to
  485. update some projected expense figures...
  486. Intro
  487. ...the Budget frame contains
  488. a spreadsheet with the
  489. numbers that need revising.
  490. sing.
  491. A spreadsheet is composed of columns and rows
  492. that intersect to form "cells".  For example,
  493. the highlight above is currently in cell 
  494.  the upp
  495. Xplor
  496. Some of the numbers you see
  497. are the calculated results of
  498. formulas in the spreadsheet.
  499. For example, the total in cell B4,
  500. 5475, is the result of adding the
  501. numbers in cells B2 and B3.
  502. You can see the formula
  503. for cell B4 below.
  504. The 1275 entry for cell B3
  505. indicates that the number was
  506. entered directly from the
  507. keyboard. 
  508. expec
  509. The number in cell C3 
  510. is the result of multiplying
  511. the value in cell B3 by 1.14.
  512. The projected expenses for January,
  513. shown in cell B3, are actually 1500,
  514. 1275.  
  515. Watch how the expenses for the remaining
  516. months -- and all the totals
  517. -- update
  518. automatically when the new figure is
  519. entered.
  520. ered.
  521. You've got your numbers straightened out now,
  522. but you're dealing with dollars here, so you
  523. want the spreadsheet numbers to appear as $$.
  524. Your spreadsheet budget
  525. is now ready to be
  526. included in your report.
  527. All you had to do was update one number.
  528. Framework
  529. II did the rest. 
  530. ework
  531. II did th
  532. ; More:  Graph, Outline, Database, Telecommunications
  533. ; --- intro
  534. @Blank,
  535. @b(20),
  536. @display(More.Start),@no,
  537. @echo(#off),
  538. @bring("Summary"),
  539. @pos("Summary",1,3),
  540. @size("Summary",70,7),
  541. @hide(Welcome),
  542. @memavail,
  543. @setselection("Summary"),
  544. @performkeys("{dnlevel}{ctrl-home}{ctrl-4}{ctrl-dnarrow}" &
  545.             "Expenses for the first month will be higher " &
  546.             "than we had originally expected.  " &
  547.             "{ctrl-dnarrow}{ctrl-dnarrow}{f7}{ctrl-uparrow}" &
  548.             "{return}{ctrl-uparrow}{ctrl-w}b{ctrl-home}" &
  549.             "{ctrl-w}c{uplevel}{return}"),
  550. @bring("Budget"),
  551. @pos("Budget",1,1),
  552. @size("Budget",70,6),
  553. @performkeys("{dnlevel}{ctrl-home}{rightarrow}{dnarrow}" &
  554.             "{dnarrow}1500{return}{f5}{ctrl-home}{uplevel}" &
  555.             "{ctrl-n}c{return}"),
  556. @bring("Costs"),
  557. @pos("Costs",1,8),
  558. @size("Costs",65,12),
  559. @performkeys("{f5}"),
  560. @performkeys("{ctrl-d}id{f6}{end}{del}{return}" &
  561.             "{ctrl-a}t{home}{esc}{ctrl-d}{home}{esc}" &
  562.             "{ctrl-c}{home}{esc}{ctrl-g}x{esc}"),
  563. @setselection("Summary"),
  564. @b(200),
  565. @echo(#on),@b(100),
  566. ; --- Graphs
  567. @display(More.Intro),@p(8),@if(rtn,@return(0)),
  568. @echo(#on),@b(100),
  569. @performkeys("{dnarrow}"),@b(100),
  570. @performkeys("{return}"),@b(100),
  571. @display(More.GSel),@p(6),@if(rtn,@return(0)),
  572. @performkeys("{dnlevel}{ctrl-home}"),@b(200),
  573. @performkeys("{rightarrow}"),@b(100),
  574. @performkeys("{dnarrow}"),@b(100),
  575. @performkeys("{f6}"),
  576. @rptkey(5,"{rightarrow}",5),
  577. @performkeys("{dnarrow}{return}"),@b(100),
  578. @echo(#on),@b(100),
  579. @display(More.Graph),@p(6),@if(rtn,@return(0)),
  580. @performkeys("{ctrl-g}x"),@b(200),
  581. @performkeys("{uparrow}{return}"),@b(30),
  582. @performkeys("{uparrow}{return}"),@b(30),
  583. @performkeys("{uparrow}{return}"),@b(30),
  584. @performkeys("{uparrow}{return}"),@b(30),
  585. @performkeys("{uparrow}{return}"),@b(30),
  586. @performkeys("{uparrow}"),@b(30),
  587. @performkeys("{uparrow}"),@b(30),
  588. @p(2),@if(rtn,@return(0)),
  589. @echo(#off),
  590. @performkeys("{esc}{uplevel}{dnarrow}{return}"),
  591. @echo(#on),@p(6),@if(rtn,@return(0)),
  592. @performkeys("{return}"),@b(100),
  593. @performkeys("{uparrow}"),@b(100),
  594. @performkeys("{return}"),@b(250),
  595. ; --- Outlines
  596. @display(More.Tran1),@p(6),@if(rtn,@return(0)),
  597. @echo(#on),@b(100),
  598. @display(More.Summ),@p(3),@if(rtn,@return(0)),
  599. @performkeys("{uparrow}"),@b(100),
  600. @performkeys("{return}"),@b(250),
  601. @performkeys("{return}"),@b(200),
  602. @display(More.Org),@p(8),@if(rtn,@return(0)),
  603. @echo(#on),@b(100),
  604. @display(More.Frame),@p(5),@if(rtn,@return(0)),
  605. @echo(#on),@b(30),
  606. @performkeys("{ctrl-c}{home}"),@b(100),
  607. @performkeys("{dnarrow}"),
  608. @echo(#off),@b(100),
  609. @performkeys("{return}{f3}{ctrl-home}{dnarrow}{return}"),
  610. @echo(#on),@b(100),
  611. @oneltr("Report"),
  612. @performkeys("{return}"),@b(200),
  613. @display(More.Move),@p(5),@if(rtn,@return(0)),
  614. @performkeys("{uparrow}"),@b(100),
  615. @performkeys("{f6}"),
  616. @rptkey(2,"{uparrow}",20),
  617. @performkeys("{return}"),@b(100),
  618. @performkeys("{f7}"),@b(100),
  619. @performkeys("{dnarrow}"),@b(100),
  620. @performkeys("{dnlevel}"),@b(100),
  621. @echo(#off),
  622. @performkeys("{return}{return}{f10}"),
  623. @echo(#on),@b(300),
  624. @display(More.Done),@p(8),@if(rtn,@return(0)),
  625. @performkeys("{uplevel}{f9}"),@b(200),
  626. @performkeys("{esc}{f10}"),@b(200),
  627. @performkeys("{dnarrow}"),@b(100),
  628. @performkeys("{dnarrow}"),@b(200),
  629. @performkeys("{uparrow}"),@b(100),
  630. @performkeys("{uparrow}"),@b(300),
  631. @display(More.Tran2),@p(8),@if(rtn,@return(0)),
  632. @performkeys("{f10}"),@b(100),
  633. @performkeys("{f9}"),@b(100),
  634. @performkeys("{uplevel}"),@b(200),
  635. @performkeys("{return}"),@b(300),
  636. ; --- Databases
  637. @echo(#off),
  638. @performkeys("{del}"),
  639. @memavail,
  640. @sham("Report"),
  641. @echo(#on),
  642. @display(More.Data),@p(11),@if(rtn,@return(0)),
  643. @echo(#on),@b(150),
  644. @display(More.dBASE),@p(12),@if(rtn,@return(0)),
  645. @echo(#on),@b(100),
  646. @performkeys("{ctrl-d}{home}"),@b(100),
  647. @rptkey(4,"{dnarrow}",25),@b(200),
  648. @performkeys("{return}{home}"),@b(100),
  649. @performkeys("{return}"),@b(100),
  650. @oneltr("names.dbf"),@b(200),
  651. @performkeys("{return}{f5}"),@b(400),
  652. @performkeys("{f9}{ctrl-home}"),@b(200),
  653. @display(More.Sort),@p(8),@if(rtn,@return(0)),
  654. @echo(#on),@b(200),
  655. @performkeys("{ctrl-l}{home}"),@b(400),
  656. @performkeys("{return}"),@p(2),@if(rtn,@return(0)),
  657. @display(More.dBEnd),@p(10),@if(rtn,@return(0)),
  658. @performkeys("{f9}"),@b(100),
  659. @performkeys("{uplevel}"),@b(80),
  660. @performkeys("{return}"),@b(300),
  661. ; --- Telecommunications
  662. @echo(#off),
  663. @performkeys("{del}"),
  664. @memavail,
  665. @sham("NAMES"),
  666. @echo(#on),
  667. @display(More.TComm),@p(10),@if(rtn,@return(0)),
  668. @echo(#on),@b(200),
  669. @display(More.Load),@p(7),@if(rtn,@return(0)),
  670. @echo(#on),
  671. @performkeys("{ctrl-a}{home}"),@b(150),
  672. @performkeys("t{home}"),@b(100),
  673. @rptkey(8,"{dnarrow}",20),
  674. @echo(#off),
  675. @performkeys("{esc}{ctrl-c}eTeleJones{return}"),
  676. @pos("TeleJones",3,2),
  677. @size("TeleJones",62,17),
  678. @performkeys("{return}{ctrl-w}l2{return}"),
  679. @setselection("TeleJones"),
  680. @echo(#on),@b(100),
  681. @performkeys("{dnlevel}{return}"),@b(100),
  682. @performkeys("Dialing TeleJones News " &
  683.             "Service...{return}{return}"),@b(100),
  684. @performkeys("CONNECT{return}{return}"),@b(200),
  685. @performkeys("
  686. HEADLINE:  Ashton-Tate releases " &
  687.             "new Framework
  688. II{return}{return}"),@b(100),
  689. @performkeys("Ashton-Tate's new Framework
  690. II software " &
  691.             "product is now{return}on the market.  " &
  692.             "Framework
  693. II, designed for professionals" &
  694.             "{return}and managers with word processing " &
  695.             "and spreadsheet needs,{return}provides " &
  696.             "significant enhancements over Ashton-Tate's" &
  697.             "{return}first Framework product." &
  698.             "{return}{return}"),@b(400),
  699. @performkeys("The original Framework has been translated " &
  700.             "into {return}10 different languages, and been " &
  701.             "the recipient {return}of international awards " &
  702.             "and critical acclaim.{return}{return}"),@b(400),
  703. @performkeys("   Most Significant Product of 1984 -- PC WEEK" &
  704.             "{return}   Product of the Year -- France{return}" &
  705.             "   Winner of ""Spreadsheet Face-Off"" Contest" &
  706.             "{return}   Award for Technical Excellence -- " &
  707.             "PC MAGAZINE{return}   Ranked #1 by Software Digest "),
  708. @p(8),@if(rtn,@return(0)),
  709. @display(More.TEnd),@p(11),@if(rtn,@return(0)),
  710. @performkeys("{uplevel}{return}"),@b(200),
  711. ; --- wrap up
  712. @unhide(Welcome),
  713. @memavail,
  714. @Blank,@b(100),
  715. @display(Dia.wp),
  716. @display(Dia.ss),
  717. @display(Dia.p),@p(2),@if(rtn,@return(0)),
  718. @display(Dia.sc),
  719. @display(Dia.p1),
  720. @display(Dia.ol),
  721. @display(Dia.p2),
  722. @display(Dia.mm),
  723. @display(Dia.p3),
  724. @display(Dia.db),
  725. @display(Dia.p8),
  726. @display(Dia.p9),
  727. @display(Dia.p4),
  728. @display(Dia.p6),
  729. @display(Dia.p5),
  730. @display(Dia.tc),
  731. @display(Dia.p0),
  732. @display(Dia.gr),
  733. @display(Dia.p7),@p(5),@if(rtn,@return(0)),
  734. @Blank,@b(100),
  735. @display(More.End),@p(8),@if(rtn,@return(0)),
  736. @b(100),
  737. @clean
  738. isplay(More.End
  739. Framework II has a number of additional
  740. capabilities to support you in effectively
  741. analyzing and communicating information.
  742. Graphics, for instance, add extra impact to
  743. any report.
  744. Start
  745. Say you want to create a graph
  746. of some Budget numbers for a
  747. report you've been working on...
  748. on...
  749. Intro
  750. First of all, you highlight
  751. the numbers you want to graph.
  752. Then use the Graph menu
  753. to draw the graph.
  754. Graph
  755. All the elements of your report
  756. are complete --  the spreadsheet
  757. budget and graph...
  758.  as well as
  759. Tran1
  760. As well as the overall
  761. project summary.
  762. You can organize the three parts of your
  763. report for printing as a single document 
  764. by moving them inside another frame.  Watch!
  765. First, you create an empty
  766. frame and give it a name.
  767. Frame
  768. Then just move the three frames inside the new frame.
  769. Now you can print the report as
  770. one document, with words, numbers,
  771. and graph all on the same page.
  772. And instead of keeping track
  773. of three different files,
  774. you only deal with one.
  775. Tran2
  776. Framework
  777. II has other functions for
  778. helping keep your information organized.
  779. With Framework
  780. II's built-in database
  781. capability you can manage address lists
  782. and other types of data
  783. -- and quickly
  784. arrange and locate just the information
  785. you want.
  786. u want it. 
  787. You can also "import" data from 
  788. dBASE
  789. the industry-standard database by Ashton-Tate.
  790. Watch as we import an address list from a
  791. dBASE
  792. III file called NAMES.
  793. dBASE
  794. The address list is not currently in
  795. any particular order.  
  796. Watch how quickly you can
  797. alphabetize the list by Last Name.
  798. Rapid data manipulation is only one of the
  799. benefits of the Framework
  800. II database.  
  801. Along with Framework
  802. II's word processor and
  803. built-in MailMerge function, you have the
  804. capability to send out personalized letters. 
  805. dBEnd
  806. Another Framework
  807. II benefit is
  808. built-in Telecommunications -- for
  809. exchanging information with other
  810. computers over telephone lines.
  811. ines.
  812. mpCode.Ma
  813. TComm
  814. Watch as we simulate a link with a
  815. hypothetical "on-line" news service. 
  816. With many Telecommunications software
  817. programs, once information scrolls off
  818. the top of the screen -- it's gone.
  819. Framework
  820. II captures the information 
  821. in a frame so you can easily use it with
  822. the word processor or spreadsheet.
  823. Framework
  824. The better solution 
  825. for word processing,
  826. spreadsheets, and more. 
  827. ; Diagram of how Framework
  828. II functions relate
  829. @Blank,
  830. @display(Dia.wp),@p(1),@if(rtn,@return(0)),
  831. @display(Dia.ss),
  832. @display(Dia.p),@p(1),@if(rtn,@return(0)),
  833. @display(Dia.sc),
  834. @display(Dia.p1),@p(1),@if(rtn,@return(0)),
  835. @display(Dia.ol),
  836. @display(Dia.p2),@p(1),@if(rtn,@return(0)),
  837. @display(Dia.gr),
  838. @display(Dia.p7),@p(1),@if(rtn,@return(0)),
  839. @display(Dia.tc),
  840. @display(Dia.p0),
  841. @display(Dia.p6),
  842. @display(Dia.p5),
  843. @display(Dia.p4),@p(1),@if(rtn,@return(0)),
  844. @display(Dia.db),
  845. @display(Dia.p9),@p(1),@if(rtn,@return(0)),
  846. @display(Dia.p8),
  847. @display(Dia.mm),
  848. @display(Dia.p3),@p(3)
  849.        Word Processing
  850.         Spreadsheet
  851.  Spell Check
  852.   Outlining
  853.  Mail Merge
  854.      Database
  855.  Telecommunications
  856.   Graphing
  857. #TBD!
  858. ; Complete Automated Demonstration
  859. @Over,@if(rtn,@return(0)),
  860. @WP,@if(rtn,@return(0)),
  861. @SS,@if(rtn,@return(0)),
  862. @More,@if(rtn,@return(0))
  863. #N/A!
  864. ; Bring hidden files to the desktop
  865. @keyfilter({ctrl-break},Exit),
  866. @memavail,
  867. @Flush,
  868. @local(cmd),
  869. cmd:="@unhide("&@item1&")",
  870. @cmd,
  871. @memavail,
  872. cmd := "@setselection("""&@item1&""")",
  873. @cmd,
  874. @performkeys("{f8}{return}"),
  875. @memavail,
  876. cmd:="@hide("&@item1&")",
  877. @cmd,
  878. @memavail,
  879. @Flush,
  880. @keyfilter({ctrl-break},Break)
  881. Bring
  882. #N/A!
  883. #N/A!
  884. ; Routine for showing Display frame with Desktop frame
  885. @local(temp),
  886. @setselection(@item2),
  887. temp := "@display(" &@item1& ")",
  888. @temp,
  889. @b(250),
  890. @performkeys("{return}"),
  891. @p(4),
  892. @performkeys("{return}")
  893. #FUNCTION
  894. ; Pause routine with prompt of options (pause, advance, menu)
  895. @memavail,
  896. @Flush,
  897. @eraseprompt,
  898. @prompt("Press SPACEBAR to Pause  -  
  899.  to Advance  " &
  900.         "-  or ESC for Sampler Menu",5),
  901. @nextkey(@item1),
  902. @if(@key = {ESC},
  903.     @list(
  904.         rtn := #true,
  905.         @beep(500,10),@beep(500,10)
  906. @if(@key={ },
  907.     @list(
  908.         @eraseprompt,
  909.         @prompt("Press 
  910.  to Continue",30),
  911.         @while(@nextkey<>{RETURN},)
  912. @return(0)
  913. #FALSE
  914. #FALSE
  915.